Detecting sleeping disorders

ABSTRACT

Introduced are methods and systems for monitoring a person&#39;s sleeping patterns, and detecting episodes of sleeping disorders such as snoring and sleep apnea. In one embodiment, a sensor strip attached to the mattress monitors the user&#39;s breathing, and detects signature frequencies corresponding to snoring and sleep apnea. Once a sleeping disorder is detected, a notification can be sent to a device associated with the user, or the user&#39;s bed can be automatically adjusted to alleviate the sleeping disorder.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of the U.S. patentapplication Ser. No. 14/942,458 filed Nov. 16, 2015, which isincorporated herein by reference in its entirety.

TECHNICAL FIELD

Various embodiments relate generally to home automation devices andhuman biological signal gathering and analysis.

BACKGROUND

Sleeping disorders can vary from mild to severe, and include snoring,restless leg, and sleep apnea. Most sleeping disorder sufferers do nothave an in-home method of monitoring their sleeping patterns, much lessa way to regulate and alleviate the sleeping disorders.

SUMMARY

Introduced are methods and systems for monitoring a person's sleepingpatterns, and detecting episodes of sleeping disorders such as snoringand sleep apnea. In one embodiment, a sensor strip attached to themattress monitors the user's breathing, and detects signaturefrequencies corresponding to snoring and sleep apnea. Once a sleepingdisorder is detected, a notification can be sent to a device associatedwith the user, or the user's bed can be automatically adjusted toalleviate the sleeping disorder.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other objects, features and characteristics of the presentembodiments will become more apparent to those skilled in the art from astudy of the following detailed description in conjunction with theappended claims and drawings, all of which form a part of thisspecification. While the accompanying drawings include illustrations ofvarious embodiments, the drawings are not intended to limit the claimedsubject matter.

FIG. 1 is a diagram of a bed device, according to one embodiment.

FIG. 2A illustrates an example of a bed device, according to oneembodiment.

FIG. 2B is an adjustable bed frame associated with the bed device ofFIG. 2A, according to one embodiment.

FIG. 2C is an adjustable bed frame including a plurality of zones,according to one embodiment.

FIG. 3 illustrates an example of layers comprising a bed device,according to one embodiment.

FIG. 4A illustrates a user sensor placed on a sensor strip, according toone embodiment.

FIG. 4B illustrates a user sensor placed on a sensor strip according toanother embodiment.

FIGS. 5A, 5B, 5C, and 5D show different configurations of a sensor stripto fit different size mattresses, according to one embodiment.

FIG. 6A illustrates the division of the heating coil into zones andsubzones, according to one embodiment.

FIGS. 6B and 6C illustrate the independent control of the differentsubzones, according to one embodiment.

FIG. 7 is a flowchart of the process for deciding when to heat or coolthe bed device, according to one embodiment.

FIG. 8 is a flowchart of the process for recommending a bedtime to theuser, according to one embodiment.

FIG. 9 is a flowchart of the process for activating a user's alarm,according to one embodiment.

FIG. 10 is a flowchart of the process for turning off an appliance,according to one embodiment.

FIG. 11 is a diagram of a system capable of automating the control ofthe home appliances, according to one embodiment.

FIG. 12 is an illustration of the system capable of controlling anappliance and a home, according to one embodiment.

FIG. 13 is a flowchart of the process for controlling an appliance,according to one embodiment.

FIG. 14 is a flowchart of the process for controlling an appliance,according to another embodiment.

FIG. 15 is a diagram of a system for monitoring biological signalsassociated with a user, and providing notifications or alarms, accordingto one embodiment.

FIG. 16 is a flowchart of a process for generating a notification basedon a history of biological signals associated with a user, according toone embodiment.

FIG. 17 is a flowchart of a process for generating a comparison betweena biological signal associated with a user and a target biologicalsignal, according to one embodiment.

FIG. 18 is a flowchart of a process for detecting the onset of adisease, according to one embodiment.

FIG. 19 is a flowchart of a method to detect when a user is snoring, andto position an adjustable bed frame to prevent snoring, according to oneembodiment.

FIG. 20 is a flowchart of a method to detect when a user is experiencinga sleeping disorder, such as snoring and/or sleep apnea, according toone embodiment.

FIG. 21 shows a transformed breathing rate in frequency domain,according to one embodiment.

FIG. 22 is a flowchart of a method to detect sleep apnea, according toone embodiment.

FIG. 23 is a flowchart of a method to adjust an adjustable bed frameupon detecting that a user is experiencing a sleeping disorder, such assnoring and/or sleep apnea, according to one embodiment.

FIG. 24 is a flowchart of a method to detect when a user is experiencinga sleeping disorder, and to position an adjustable bed frame to preventsnoring and/or sleep apnea using machine learning algorithms, accordingto one embodiment.

FIG. 25 is a flowchart of a method to detect when a user is experiencinga sleeping disorder, according to one embodiment.

FIG. 26 is a flowchart of a method to adjust an adjustable bed frameupon detecting that a user is experiencing a sleeping disorder,according to one embodiment.

FIG. 27 is a flowchart of a method to send a signal to a deviceassociated with the user upon detecting that the user is experiencing asleeping disorder, according to one embodiment.

FIG. 28 is a diagrammatic representation of a machine in the exampleform of a computer system 2800 within which a set of instructions, forcausing the machine to perform any one or more of the methodologies ormodules discussed herein, may be executed.

DETAILED DESCRIPTION

Examples of a method, apparatus, and computer program for automating thecontrol of home appliances and improving the sleep environment aredisclosed below. In the following description, for the purposes ofexplanation, numerous specific details are set forth in order to providea thorough understanding of the embodiments of the invention. Oneskilled in the art will recognize that the embodiments of the inventionmay be practiced without these specific details or with an equivalentarrangement. In other instances, well-known structures and devices areshown in block diagram form in order to avoid unnecessarily obscuringthe embodiments of the invention.

Terminology

Brief definitions of terms, abbreviations, and phrases used throughoutthis application are given below.

In this specification, the terms “biological signal” and “bio signal”are synonyms, and are used interchangeably.

Reference in this specification to “sleep phase” means light sleep, deepsleep, or REM sleep. Light sleep comprises stage one, and stage two,non-REM sleep.

Reference in this specification to a formant means the spectral peaks ofthe sound spectrum.

Reference in the specification to a formant bandwidth means a continuousfrequency region in which the amplification differs less than 3 dB fromthe amplification at the center frequency (the frequency where theamplification is maximal).

Reference in this specification to “one embodiment” or “an embodiment”means that a particular feature, structure, or characteristic describedin connection with the embodiment is included in at least one embodimentof the disclosure. The appearances of the phrase “in one embodiment” invarious places in the specification are not necessarily all referring tothe same embodiment, nor are separate or alternative embodimentsmutually exclusive of other embodiments. Moreover, various features aredescribed that may be exhibited by some embodiments and not by others.Similarly, various requirements are described that may be requirementsfor some embodiments but not others.

Unless the context clearly requires otherwise, throughout thedescription and the claims, the words “comprise,” “comprising,” and thelike are to be construed in an inclusive sense, as opposed to anexclusive or exhaustive sense; that is to say, in the sense of“including, but not limited to.” As used herein, the terms “connected,”“coupled,” or any variant thereof, means any connection or coupling,either direct or indirect, between two or more elements. The coupling orconnection between the elements can be physical, logical, or acombination thereof. For example, two devices may be coupled directly,or via one or more intermediary channels or devices. As another example,devices may be coupled in such a way that information can be passedtherebetween, while not sharing any physical connection with oneanother. Additionally, the words “herein,” “above,” “below,” and wordsof similar import, when used in this application, shall refer to thisapplication as a whole and not to any particular portions of thisapplication. Where the context permits, words in the DetailedDescription using the singular or plural number may also include theplural or singular number respectively. The word “or,” in reference to alist of two or more items, covers all of the following interpretationsof the word: any of the items in the list, all of the items in the list,and any combination of the items in the list.

If the specification states a component or feature “may,” “can,”“could,” or “might” be included or have a characteristic, thatparticular component or feature is not required to be included or havethe characteristic.

The term “module” refers broadly to software, hardware, or firmwarecomponents (or any combination thereof). Modules are typicallyfunctional components that can generate useful data or another outputusing specified input(s). A module may or may not be self-contained. Anapplication program (also called an “application”) may include one ormore modules, or a module may include one or more application programs.

The terminology used in the Detailed Description is intended to beinterpreted in its broadest reasonable manner, even though it is beingused in conjunction with certain examples. The terms used in thisspecification generally have their ordinary meanings in the art, withinthe context of the disclosure, and in the specific context where eachterm is used. For convenience, certain terms may be highlighted, forexample, using capitalization, italics, and/or quotation marks. The useof highlighting has no influence on the scope and meaning of a term; thescope and meaning of a term is the same, in the same context, whether ornot it is highlighted. It will be appreciated that the same element canbe described in more than one way.

Consequently, alternative language and synonyms may be used for any oneor more of the terms discussed herein, but special significance is notto be placed upon whether or not a term is elaborated or discussedherein. A recital of one or more synonyms does not exclude the use ofother synonyms. The use of examples anywhere in this specification,including examples of any terms discussed herein, is illustrative onlyand is not intended to further limit the scope and meaning of thedisclosure or of any exemplified term. Likewise, the disclosure is notlimited to various embodiments given in this specification.

Bed Device

FIG. 1 is a diagram of a bed device, according to one embodiment. Anynumber of user sensors 140, 150 monitor the bio signals associated witha user, such as the heart rate, the breathing rate, the temperature,motion, or presence, associated with the user. Any number of environmentsensors 160, 170 monitor environment properties, such as temperature,sound, light, or humidity. The user sensors 140, 150 and the environmentsensors 160, 170 communicate their measurements to the processor 100.The environment sensors 160, 170 measure the properties of theenvironment that the environment sensors 160, 170 are associated with.In one embodiment, the environment sensors 160, 170 are placed next tothe bed. The processor 100 determines, based on the bio signalsassociated with the user, historical bio signals associated with theuser, user-specified preferences, exercise data associated with theuser, or the environment properties received, a control signal, and atime to send the control signal to a bed device 120.

According to one embodiment, the processor 100 is connected to adatabase 180, which stores the biological signals associated with auser. Additionally, the database 180 can store average biologicalsignals associated with the user, history of biological signalsassociated with a user, etc. In one embodiment, the database 180 canstore a user profile which contains user preferences associated with anadjustable bed frame.

FIG. 2A illustrates an example of the bed device of FIG. 1, according toone embodiment. A sensor strip 210, associated with a mattress 200 ofthe bed device 120, monitors bio signals associated with a user sleepingon the mattress 200. The sensor strip 210 can be built into the mattress200, or can be part of a bed pad device. Alternatively, the sensor strip210 can be a part of any other piece of furniture, such as a rockingchair, a couch, an armchair, etc. The sensor strip 210 comprises atemperature sensor, or a piezo sensor. The environment sensor 220measures environment properties such as temperature, sound, light orhumidity. According to one embodiment, the environment sensor 220 isassociated with the environment surrounding the mattress 200. The sensorstrip 210 and the environment sensor 220 communicate the measuredenvironment properties to the processor 230.

A microphone 235 is placed proximate to the user. The microphone 235records a sound associated with the user. The microphone 235 can bedisposed within the mattress 200, a pillow, a cover, the sensor strip210, the power supply box, etc.

In some embodiments, the processor 230 can be similar to the processor100 of FIG. 1. A processor 230 can be connected to the sensor strip 210,or the environment sensor 220 by a computer bus, such as an I2C bus.Also, the processor 230 can be connected to the sensor strip 210, or theenvironment sensor 220 by a communication network. By way of example,the communication network connecting the processor 230 to the sensorstrip 210 or the environment sensor 220 includes one or more networkssuch as a data network, a wireless network, a telephony network, or anycombination thereof. The data network may be any local area network(LAN), metropolitan area network (MAN), wide area network (WAN), apublic data network (e.g., the Internet), short range wireless network,or any other suitable packet-switched network, such as a commerciallyowned, proprietary packet-switched network, e.g., a proprietary cable orfiber-optic network, and the like, or any combination thereof. Inaddition, the wireless network may be, for example, a cellular networkand may employ various technologies including enhanced data rates forglobal evolution (EDGE), general packet radio service (GPRS), globalsystem for mobile communications (GSM), Internet protocol multimediasubsystem (IMS), universal mobile telecommunications system (UMTS),etc., as well as any other suitable wireless medium, e.g., worldwideinteroperability for microwave access (WiMAX), Long Term Evolution (LTE)networks, code division multiple access (CDMA), wideband code divisionmultiple access (WCDMA), wireless fidelity (WiFi), wireless LAN (WLAN),Bluetooth®, Internet Protocol (IP) data casting, satellite, mobilead-hoc network (MANET), and the like, or any combination thereof.

The processor 230 is any type of microcontroller, or any processor in amobile terminal, fixed terminal, or portable terminal including a mobilehandset, station, unit, device, multimedia computer, multimedia tablet,Internet node, cloud computer, communicator, desktop computer, laptopcomputer, notebook computer, netbook computer, tablet computer, personalcommunication system (PCS) device, personal navigation device, personaldigital assistants (PDAs), audio/video player, digital camera/camcorder,positioning device, television receiver, radio broadcast receiver,electronic book device, game device, the accessories and peripherals ofthese devices, or any combination thereof.

FIG. 2B is an adjustable bed frame 250 associated with the bed device,according to one embodiment. The adjustable bed frame includes aplurality of adjustable sections 240-246. The adjustable bed frame has arest position, as seen in FIG. 2A, where all the adjustable sections240-246 are at 0 height, and at 0° angle. The rest position correspondsto the horizontal position of a regular bed. The position associatedwith each adjustable section 240-246 includes a height relative to therest position, and an angle relative to the rest position. Adjustablesection 240 corresponds to the head, adjustable section 242 correspondsto the back, adjustable section 244 corresponds to the legs, andadjustable section 246 corresponds to the feet. There can be moreadjustable sections according to various embodiments. The position ofeach adjustable section 240-246 can be adjusted independently.

The adjustable bed frame 250 is coupled to the processor 230. Theprocessor 230 is configured to identify the user based on at least oneof: the heart rate associated with the user, the breathing rateassociated with the user, or the motion associated with the user,because each user has a unique heart rate, breathing rate, and motion.The processor 230 can also identify the user by receiving from a userdevice associated with the user an identification (ID) associated withthe user. For example, the user can specify the user ID of the personsleeping on the sensor strip. If there are multiple sensor strips and/ormultiple sensor, the user can specify the ID of the person associatedwith each sensor strip and/or each sensor. The processor 230, afteridentifying the user, retrieves from the database 180 a history ofbiological signals associated with a user. The history of biologicalsignals comprises a normal biological signal range, such as a normalheart rate range associated with said user, a normal breathing raterange associated with said user, and a normal motion range associatedwith said user. The normal biological signal range includes an averageheart rate associated with the user, an average breathing rateassociated with the user, and an average motion associated with theuser. The average biological signal includes an average high signal andan average low signal. For example, the average high signal includes theaverage high heart rate associated with the user, the average highbreathing rate associated with a user, or the average high rate ofmotion associated with the user. The average low signal includes theaverage low heart rate associated with the user, the average lowbreathing rate associated with a user, or the average low rate of motionassociated with a user. In addition, based on the heart rate, thebreathing rate, and the motion, the processor 230 determines the sleepphase associated with the user. The processor 230 can then calculate thenormal bio signal range associated with a particular sleep phase.

The bio signals associated with a user include an amplitude and afrequency. The processor 230 determines a normal range of frequenciesassociated with the heart rate, the breathing rate, or the motion. Theprocessor 230 determines a normal range of amplitudes and frequenciesassociated with the heart rate, the breathing rate or the motion. Theprocessor 230 determines the current amplitude and the current frequencyassociated with the current biological signal. When the currentfrequency associated with a biological signal is outside of the normalfrequency range, the processor 230 detects a discrepancy. The processor230 determines which sleeping disorder the discrepancy is indicative of,such as snoring, sleep apnea, or restless leg. For example, theprocessor 230 can determine whether the breathing rate containssequences outside of the normal breathing rate frequency range, anddetermine that the user is snoring. Similarly, the processor 230 candetermine that the motion rate contains a frequency outside of thenormal motion frequency range, and determine that the user is sufferingfrom restless leg.

When a sleeping disorder is detected, the processor 230 sends a controlsignal to the adjustable bed frame to heighten or to lower an adjustablesection associated with the bed frame. For example, if the processor 230detects that the user is snoring or has sleep apnea, the processor 230sends a control signal to the adjustable bed frame to heighten theadjustable section 240, corresponding to the head. If the processor 230detects that the user has a restless leg, the processor 230 sends acontrol signal to the adjustable bed frame to heighten the adjustablesection 246, corresponding to the feet.

According to another embodiment, the processor 230 determines whetherthe user has fallen asleep while the bed is in the upright position, forexample, when the user has fallen asleep while watching TV. If the userhas fallen asleep and the bed is not in the rest position, the processor230 sends a control signal to the adjustable frame to assume the restposition.

According to one embodiment, the user can specify the preferred positionof the adjustable bed frame when a bio signal discrepancy is detected.The user's preferred position is stored in a user profile in thedatabase 180. For example, the user can specify the height andinclination of each of the adjustable sections 240-246 for each detectedproblem. For example, the user-specified height and inclination of eachof the adjustable sections 240-246 when snoring is detected can bedifferent from the user-specified height and inclination of each of theadjustable sections 240-246 when sleep apnea is detected. In addition, auser can specify a rest position for the adjustable bed frame that isdifferent from the default horizontal rest position. The user-specifiedrest position can also be associated with the user profile and stored inthe database 180.

FIG. 2C is an adjustable bed frame including a plurality of zones,according to one embodiment. The adjustable bed frame includes aplurality of zones 260, 265 corresponding to a plurality of users. Eachincludes a plurality of adjustable sections. Zone 260 includesadjustable sections 270-276, and zone 265 includes adjustable sections278-284. Each adjustable section can be adjusted independently. When theprocessor 230 detects a user in one of the zones, for example, zone 260,the processor 230 identifies the user based on the breathing rate, heartrate, or motion associated with a user. According to another embodiment,the computer processor receives the user ID associated with the userfrom a user device associated with the user. Based on theidentification, the processor 230 retrieves from the database 180 theuser profile. According to the user profile, the processor 230 adjuststhe rest position of the zone 260 to match the user-specified restposition. When a sleeping disorder is detected, the processor 230 sendsa control signal to adjust the bed frame to match the user-specifiedposition.

FIG. 3 illustrates an example of layers comprising the bed device ofFIG. 1, according to one embodiment. In some embodiments, the bed device120 is a pad that can be placed on top of the mattress. The padcomprises a number of layers. A top layer 350 comprises fabric. A layer340 comprises batting and a sensor strip 330. A layer 320 comprisescoils for cooling or heating the bed device. A layer 310 compriseswaterproof material.

FIG. 4A illustrates a user sensor 420, 440, 450, 470 placed on a sensorstrip 400, according to one embodiment. In some embodiments, the usersensors 420, 440, 450, 470 can be similar to or part of the sensor strip210 of FIG. 2. Sensors 470 and 440 comprise a piezo sensor, which canmeasure a bio signal associated with a user, such as the heart rate andthe breathing rate. Sensors 450 and 420 comprise a temperature sensor.According to one embodiment, sensors 450 and 470 measure the bio signalsassociated with one user, while sensors 420, 440 measure the bio signalsassociated with another user. Analog-to-digital converter 410 convertsthe analog sensor signals into digital signals to be communicated to aprocessor 230. Computer buses 430 and 460, such as the I2C bus,communicate the digitized bio signals to a processor.

FIG. 4B illustrates a user sensor placed on a sensor strip according toanother embodiment. The sensor strip 480 includes two sections 485, 490.Each sensor strip section 485, 490 includes a temperature sensor 405,445, respectively, and a piezo sensor 415, 425, respectively. Thetemperature sensors 405, 445 and the piezo sensors 415, 425 areconnected to the analog-to-digital converter 495 using wires 425, 435respectively. The analog-to-digital converter 495 is placed on the sideof the strip. In other embodiments, there can be multipleanalog-to-digital converters placed on the strip, where the multipleanalog-to-digital converters correspond to each sensor strip section485, 490. In various embodiments, there can be a plurality of sensorsstrips 480, 400 associated with the mattress 200.

FIGS. 5A and 5B show different configurations of the sensor strip, tofit different size mattresses, according to one embodiment. FIGS. 5C and5D show how such different configurations of the sensor strip can beachieved. Specifically, sensor strip 400 comprises a computer bus 510,530, and a sensor striplet 505. The computer bus 510, 530 can be bent atpredetermined locations 540, 550, 560, 570. Bending the computer bus 515at location 540 produces the maximum total length of the computer bus530. Computer bus 530, combined with a sensor striplet 505, fits a kingsize mattress 520. Bending the computer bus 515 at location 570 producesthe smallest total length of the computer bus 510. Computer bus 510,combined with a sensor striplet 505, fits a twin size mattress 500.Bending the computer bus 515 at location 560 enables the sensor strip400 to fit a full size bed. Bending the computer bus 515 at location 550enables the sensor strip 400 to fit a queen size bed. In someembodiments, twin mattress 500 or king mattress 520 can be similar tothe mattress 200 of FIG. 2.

FIG. 6A illustrates the division of the heating coil 600 into zones andsubzones, according to one embodiment. Specifically, the heating coil600 is divided into two zones 660 and 610, each corresponding to oneuser of the bed. Each zone 660 and 610 can be heated or cooledindependently of the other zone in response to the user's needs. Toachieve independent heating of the two zones 660 and 610, the powersupply associated with the heating coil 600 is divided into two zones,each power supply zone corresponding to a single user zone 660, 610.Further, each zone 660 and 610 is further subdivided into subzones. Zone660 is divided into subzones 670, 680, 690, and 695. Zone 610 is dividedinto subzones 620, 630, 640, and 650. The distribution of coils in eachsubzone is configured so that the subzone is uniformly heated. However,the subzones may differ among themselves in the density of coils. Forexample, the data associated with the user subzone 670 has lower densityof coils than subzone 680. This will result in subzone 670 having lowertemperature than subzone 680, when the coils are heated. Similarly, whenthe coils are used for cooling, subzone 670 will have higher temperaturethan subzone 680. According to one embodiment, subzones 680 and 630 withhighest coil density correspond to the user's lower back; and subzones695 and 650 with highest coil density correspond to the user's feet.

According to one embodiment, even if the users switch sides of the bed,the system will correctly identify which user is sleeping in which zoneby identifying the user based on any of the following signals alone, orin combination: heart rate, breathing rate, body motion, or bodytemperature associated with the user. The system can also identify theuser by receiving from a user device associated with the user anidentification (ID) associated with the user. For example, the user canspecify the user ID of the person sleeping on the sensor strip. If thereare multiple sensor strips and/or multiple sensor, the user can specifythe ID of the person associated with each sensor strip and/or eachsensor.

In another embodiment, the power supply associated with the heating coil600 is divided into a plurality of zones, each power supply zonecorresponding to a subzone 620, 630, 640, 650, 670, 680, 690, 695. Theuser can control the temperature of each subzone 620, 630, 640, 650,670, 680, 690, 695 independently. Further, each user can independentlyspecify the temperature preferences for each of the subzones. Even ifthe users switch sides of the bed, the system will correctly identifythe user, and the preferences associated with the user by identifyingthe user based on any of the following signals alone, or in combination:heart rate, breathing rate, body motion, or body temperature associatedwith the user. According to another embodiment, if the users switchsides of the bed, the system receives the user ID of the new user from auser device associated with the user, and retrieves the preferencesassociated with the user.

FIGS. 6B and 6C illustrate the independent control of the differentsubzones in each zone 610, 660, according to one embodiment. A set ofuniform coils 611, connected to power management box 601, uniformlyheats or cools the bed. Another set of coils, targeting specific areasof the body such as the neck, the back, the legs, or the feet, islayered on top of the uniform coils 611. Subzone 615 heats or cools theneck. Subzone 625 heats or cools the back. Subzone 635 heats or coolsthe legs, and subzone 645 heats or cools the feet. Power is distributedto the coils via duty cycling of the power supply 605. Contiguous setsof coils can be heated or cooled at different levels by assigning thepower supply duty cycle to each set of coils. The user can control thetemperature of each subzone independently.

FIG. 7 is a flowchart of the process for deciding when to heat or coolthe bed device, according to one embodiment. At block 700, the processobtains a biological signal associated with a user, such as presence inbed, motion, breathing rate, heart rate, or a temperature. The processobtains the biological signal from a sensor associated with a user.Further, at block 710, the process obtains one or more environmentproperties, such as the amount of ambient light and the bed temperature.The process obtains one or more environment properties from anenvironment sensor associated with the bed device.

At block 720, the process determines the control signal and the time tosend a control signal. At block 730, the process sends the controlsignal to the bed device. For example, if the user is in bed, the bedtemperature is low, and the ambient light is low, the process sends acontrol signal to the bed device. The control signal comprises aninstruction to heat the bed device to the average nightly temperatureassociated with the user. According to another embodiment, the controlsignal comprises an instruction to heat the bed device to auser-specified temperature. Similarly, if the user is in bed, the bedtemperature is high, and the ambient light is low, the process sends acontrol signal to the bed device to cool the bed device to the averagenightly temperature associated with the user. According to anotherembodiment, the control signal comprises an instruction to cool the beddevice to a user-specified temperature.

In another embodiment, in addition to obtaining the biological signalassociated with the user, and the environment property, the processobtains a history of biological signals associated with the user. Thehistory of biological signals can be stored in a database associatedwith the bed device, or in a database associated with a user. Thehistory of biological signals comprises the average bedtime the userwent to sleep for each day of the week; that is, the history ofbiological signals comprises the average bedtime associated with theuser on Monday, the average bedtime associated with the user on Tuesday,etc. For a given day of the week, the process determines the averagebedtime associated with the user for that day of the week, and sends thecontrol signal to the bed device, allowing enough time for the bed toreach the desired temperature, before the average bedtime associatedwith the user. The control signal comprises an instruction to heat, orcool the bed to a desired temperature. The desired temperature may beautomatically determined, such as by averaging the historical nightlytemperature associated with a user, or the desired temperature may bespecified by the user.

Bio Signal Processing

The technology disclosed here categorizes the sleep phase associatedwith a user as light sleep, deep sleep, or REM sleep. Light sleepcomprises stage one and stage two sleep. The technology performs thecategorization based on the breathing rate associated with the user,heart rate associated with the user, motion associated with the user,and body temperature associated with the user. Generally, when the useris awake the breathing is erratic. When the user is sleeping, thebreathing becomes regular. The transition between being awake andsleeping is quick, and lasts less than 1 minute.

FIG. 8 is a flowchart of the process for recommending a bedtime to theuser, according to one embodiment. At block 800, the process obtains ahistory of sleep phase information associated with the user. The historyof sleep phase information comprises an amount of time the user spent ineach of the sleep phases, light sleep, deep sleep, or REM sleep. Thehistory of sleep phase information can be stored in a databaseassociated with the user. Based on this information, the processdetermines how much light sleep, deep sleep, and REM sleep, the userneeds on average every day. In another embodiment, the history of sleepphase information comprises the average bedtime associated with the userfor each day of the week (e.g., the average bedtime associated with theuser on Monday, the average bedtime associated with the user on Tuesday,etc.). At block 810, the process obtains user-specified wake-up time,such as the alarm setting associated with the user. At block 820, theprocess obtains exercise information associated with the user, such asthe distance the user ran that day, the amount of time the userexercised in the gym, or the amount of calories the user burned thatday. According to one embodiment, the process obtains the exerciseinformation from a user phone, a wearable device, a fitbit bracelet, ora database storing the exercise information. Based on all thisinformation, at block 830, the process recommends a bedtime to the user.For example, if the user has not been getting enough deep and REM sleepin the last few days, the process recommends an earlier bedtime to theuser. Also, if the user has exercised more than the average dailyexercise, the process recommends an earlier bedtime to the user.

FIG. 9 is a flowchart of the process for activating a user's alarm,according to one embodiment. At block 900, the process obtains thecompound bio signal associated with the user. The compound bio signalassociated with the user comprises the heart rate associated with theuser, and the breathing rate associated with the user. According to oneembodiment, the process obtains the compound bio signal from a sensorassociated with the user. At block 910, the process extracts the heartrate signal from the compound bio signal. For example, the processextracts the heart rate signal associated with the user by performinglow-pass filtering on the compound bio signal. Also, at block 920, theprocess extracts the breathing rate signal from the compound bio signal.For example, the process extracts the breathing rate by performingbandpass filtering on the compound bio signal. The breathing rate signalincludes breath duration, pauses between breaths, as well as breaths perminute. At block 930, the process obtains the user's wake-up time, suchas the alarm setting associated with the user. Based on the heart ratesignal and the breathing rate signal, the process determines the sleepphase associated with the user, and if the user is in light sleep, andcurrent time is at most one hour before the alarm time, at block 940,the process activates an alarm. Waking up the user during the deep sleepor REM sleep is detrimental to the user's health because the user willfeel disoriented, groggy, and will suffer from impaired memory.Consequently, at block 950, the process activates an alarm, when theuser is in light sleep and when the current time is at most one hourbefore the user-specified wake-up time.

FIG. 10 is a flowchart of the process for turning off an appliance,according to one embodiment. At block 1000, the process obtains thecompound bio signal associated with the user. The compound bio signalcomprises the heart rate associated with the user, and the breathingrate associated with the user. According to one embodiment, the processobtains the compound bio signal from a sensor associated with the user.At block 1010, the process extracts the heart rate signal from thecompound bio signal by, for example, performing low-pass filtering onthe compound bio signal. Also, at block 1020, the process extracts thebreathing rate signal from the compound bio signal by, for example,performing bandpass filtering on the compound bio signal. At block 1030,the process obtains an environment property, comprising temperature,humidity, light, or sound from an environment sensor associated with thesensor strip. Based on the environment property and the sleep stateassociated with the user, at block 1040, the process determines whetherthe user is sleeping. If the user is sleeping, the process, at block1050, turns an appliance off. For example, if the user is asleep and theenvironment temperature is above the average nightly temperature, theprocess turns off the thermostat. Further, if the user is asleep and thelights are on, the process turns off the lights. Similarly, if the useris asleep and the TV is on, the process turns off the TV.

Smart Home

FIG. 11 is a diagram of a system capable of automating the control ofthe home appliances, according to one embodiment. Any number of usersensors 1140, 1150 monitor biological signals associated with the user,such as temperature, motion, presence, heart rate, or breathing rate.Any number of environment sensors 1160, 1170 monitor environmentproperties, such as temperature, sound, light, or humidity. According toone embodiment, the environment sensors 1160, 1170 are placed next to abed. The user sensors 1140, 1150 and the environment sensors 1160, 1170communicate their measurements to the processor 1100. The processor 1100determines, based on the current biological signals associated with theuser, historical biological signals associated with the user,user-specified preferences, exercise data associated with the user, andthe environment properties received, a control signal, and a time tosend the control signal to an appliance 1120, 1130.

The processor 1100 is any type of microcontroller, or any processor in amobile terminal, fixed terminal, or portable terminal including a mobilehandset, station, unit, device, multimedia computer, multimedia tablet,Internet node, cloud computer, communicator, desktop computer, laptopcomputer, notebook computer, netbook computer, tablet computer, personalcommunication system (PCS) device, personal navigation device, personaldigital assistants (PDAs), audio/video player, digital camera/camcorder,positioning device, television receiver, radio broadcast receiver,electronic book device, game device, the accessories and peripherals ofthese devices, or any combination thereof.

The processor 1100 can be connected to the user sensor 1140, 1150, orthe environment sensor 1160, 1170 by a computer bus, such as an I2C bus.Also, the processor 1100 can be connected to the user sensor 1140, 1150,or environment sensor 1160, 1170 by a communication network 1110. By wayof example, the communication network 1110 connecting the processor 1100to the user sensor 1140, 1150, or the environment sensor 1160, 1170includes one or more networks such as a data network, a wirelessnetwork, a telephony network, or any combination thereof. The datanetwork may be any local area network (LAN), metropolitan area network(MAN), wide area network (WAN), a public data network (e.g., theInternet), short range wireless network, or any other suitablepacket-switched network, such as a commercially owned, proprietarypacket-switched network, e.g., a proprietary cable or fiber-opticnetwork, and the like, or any combination thereof. In addition, thewireless network may be, for example, a cellular network and may employvarious technologies including enhanced data rates for global evolution(EDGE), general packet radio service (GPRS), global system for mobilecommunications (GSM), Internet protocol multimedia subsystem (IMS),universal mobile telecommunications system (UMTS), etc., as well as anyother suitable wireless medium, e.g., worldwide interoperability formicrowave access (WiMAX), Long Term Evolution (LTE) networks, codedivision multiple access (CDMA), wideband code division multiple access(WCDMA), wireless fidelity (WiFi), wireless LAN (WLAN), Bluetooth®,Internet Protocol (IP) data casting, satellite, mobile ad-hoc network(MANET), and the like, or any combination thereof.

FIG. 12 is an illustration of the system capable of controlling anappliance and a home, according to one embodiment. The appliances thatthe system disclosed here can control, comprise an alarm, a coffeemachine, a lock, a thermostat, a bed device, a humidifier, or a light.For example, if the system detects that the user has fallen asleep, thesystem sends a control signal to the lights to turn off, to the locks toengage, and to the thermostat to lower the temperature. According toanother example, if the system detects that the user has woken up and itis morning, the system sends a control signal to the coffee machine tostart making coffee.

FIG. 13 is a flowchart of the process for controlling an appliance,according to one embodiment. In one embodiment, at block 1300, theprocess obtains a history of biological signals, such as at what timethe user goes to bed on a particular day of the week (e.g., the averagebedtime associated with the user on Monday, the average bedtimeassociated with the user on Tuesday, etc.). The history of biologicalsignals can be stored in a database associated with the user, or in adatabase associated with the bed device. In another embodiment, at block1300, the process also obtains user-specified preferences, such as thepreferred bed temperature associated with the user. Based on the historyof biological signals and user-specified preferences, the process, atblock 1320, determines a control signal, and a time to send the controlsignal to an appliance. At block 1330, the process determines whether tosend a control signal to an appliance. For example, if the current timeis within half an hour of the average bedtime associated with the useron that particular day of the week, the process, at block 1340, sends acontrol signal to an appliance. For example, the control signalcomprises an instruction to turn on the bed device, and theuser-specified bed temperature. Alternatively, the bed temperature isdetermined automatically, such as by calculating the average nightly bedtemperature associated with a user.

According to another embodiment, at block 1300, the process obtains acurrent biological signal associated with a user from a sensorassociated with the user. At block 1310, the process also obtainsenvironment data, such as the ambient light, from an environment sensorassociated with a bed device. Based on the current biological signal,the process identifies whether the user is asleep. If the user is asleepand the lights are on, the process sends an instruction to turn off thelights. In another embodiment, if the user is asleep, the lights areoff, and the ambient light is high, the process sends an instruction tothe blinds to shut. In another embodiment, if the user is asleep, theprocess sends an instruction to the locks to engage.

In another embodiment, the process, at block 1300, obtains a history ofbiological signals, such as at what time the user goes to bed on aparticular day of the week (e.g., the average bedtime associated withthe user on Monday, the average bedtime associated with the user onTuesday, etc.). The history of biological signals can be stored in adatabase associated with the bed device, or in a database associatedwith a user. Alternatively, the user may specify a bedtime for the userfor each day of the week. Further, the process obtains the exercise dataassociated with the user, such as the number of hours the user spentexercising, or the heart rate associated with the user duringexercising. According to one embodiment, the process obtains theexercise data from a user phone, a wearable device, fitbit bracelet, ora database associated with the user. Based on the average bedtime forthat day of the week, and the exercise data during the day, the process,at block 1320, determines the expected bedtime associated with the userthat night. The process then sends an instruction to the bed device toheat to a desired temperature, before the expected bedtime. The desiredtemperature can be specified by the user, or can be determinedautomatically, based on the average nightly temperature associated withthe user.

FIG. 14 is a flowchart of the process for controlling an appliance,according to another embodiment. The process, at block 1400, receives acurrent biological signal associated with the user, such as the heartrate, breathing rate, presence, motion, or temperature, associated withthe user. Based on the current biological signal, the process, at block1410, identifies current sleep phase, such as light sleep, deep sleep,or REM sleep. The process, at block 1420 also receives a currentenvironment property value, such as the temperature, the humidity, thelight, or the sound. The process, at block 1430, accesses a database,which stores historical values associated with the environment propertyand the current sleep phase. That is, the database associates each sleepphase with an average historical value of the different environmentproperties. The database may be associated with the bed device, may beassociated with the user, or may be associated with a remote server. Theprocess, at block 1440, then calculates a new average of the environmentproperty based on the current value of the environment property and thehistorical value of the environment property, and assigns the newaverage to the current sleep phase in the database. If there is amismatch between the current value of the environment property, and thehistorical average, the process, at block 1450, regulates the currentvalue to match the historical average. For example, the environmentproperty can be the temperature associated with the bed device. Thedatabase stores the average bed temperature corresponding to each of thesleep phases, light sleep, deep sleep, REM sleep. If the current bedtemperature is below the historical average, the process sends a controlsignal to increase the temperature of the bed to match the historicalaverage.

Monitoring of Biological Signals

Biological signals associated with a person, such as a heart rate or abreathing rate, indicate the person's state of health. Changes in thebiological signals can indicate an immediate onset of a disease, or along-term trend that increases the risk of a disease associated with theperson. Monitoring the biological signals for such changes can predictthe onset of a disease, can enable calling for help when the onset ofthe disease is immediate, or can provide advice to the person if theperson is exposed to a higher risk of the disease in the long-term.

FIG. 15 is a diagram of a system for monitoring biological signalsassociated with a user, and providing notifications or alarms, accordingto one embodiment. Any number of user sensors 1530, 1540 monitor biosignals associated with the user, such as temperature, motion, presence,heart rate, or breathing rate. The user sensors 1530, 1540 communicatetheir measurements to the processor 1500. The processor 1500 determines,based on the bio signals associated with the user, historical biologicalsignals associated with the user, or user-specified preferences whetherto send a notification or an alarm to a user device 1520. In someembodiments, the user device 1520 and the processor 1500 can be the samedevice.

The user device 1520 is any type of a mobile terminal, fixed terminal,or portable terminal including a mobile handset, station, unit, device,multimedia computer, multimedia tablet, Internet node, communicator,desktop computer, laptop computer, notebook computer, netbook computer,tablet computer, personal communication system (PCS) device, personalnavigation device, personal digital assistants (PDAs), audio/videoplayer, digital camera/camcorder, positioning device, televisionreceiver, radio broadcast receiver, electronic book device, game device,the accessories and peripherals of these devices, or any combinationthereof.

The processor 1500 is any type of microcontroller, or any processor in amobile terminal, fixed terminal, or portable terminal including a mobilehandset, station, unit, device, multimedia computer, multimedia tablet,Internet node, cloud computer, communicator, desktop computer, laptopcomputer, notebook computer, netbook computer, tablet computer, personalcommunication system (PCS) device, personal navigation device, personaldigital assistants (PDAs), audio/video player, digital camera/camcorder,positioning device, television receiver, radio broadcast receiver,electronic book device, game device, the accessories and peripherals ofthese devices, or any combination thereof.

The processor 1500 can be connected to the user sensor 1530, 1540 by acomputer bus, such as an I2C bus. Also, the processor 1500 can beconnected to the user sensor 1530, 1540 by a communication network 1510.By way of example, the communication network 1510 connecting theprocessor 1500 to the user sensor 1530, 1540 includes one or morenetworks such as a data network, a wireless network, a telephonynetwork, or any combination thereof. The data network may be any localarea network (LAN), metropolitan area network (MAN), wide area network(WAN), a public data network (e.g., the Internet), short range wirelessnetwork, or any other suitable packet-switched network, such as acommercially owned, proprietary packet-switched network, e.g., aproprietary cable or fiber-optic network, and the like, or anycombination thereof. In addition, the wireless network may be, forexample, a cellular network and may employ various technologiesincluding enhanced data rates for global evolution (EDGE), generalpacket radio service (GPRS), global system for mobile communications(GSM), Internet protocol multimedia subsystem (IMS), universal mobiletelecommunications system (UMTS), etc., as well as any other suitablewireless medium, e.g., worldwide interoperability for microwave access(WiMAX), Long Term Evolution (LTE) networks, code division multipleaccess (CDMA), wideband code division multiple access (WCDMA), wirelessfidelity (WiFi), wireless LAN (WLAN), Bluetooth®, Internet Protocol (IP)data casting, satellite, mobile ad-hoc network (MANET), and the like, orany combination thereof.

FIG. 16 is a flowchart of a process for generating a notification basedon a history of biological signals associated with a user, according toone embodiment. The process, at block 1600, obtains a history ofbiological signals, such as the presence history, motion history,breathing rate history, or heart rate history, associated with the user.The history of biological signals can be stored in a database associatedwith a user. At block 1610, the process determines if there is anirregularity in the history of biological signals within a timeframe. Ifthere is an irregularity, at block 1620, the process generates anotification to the user. The timeframe can be specified by the user, orthe timeframe can be automatically determined based on the type ofirregularity. For example, the heart rate associated with the user goesup within a one day timeframe when the user is sick. According to oneembodiment, the process detects an irregularity, specifically, that adaily heart rate associated with the user is higher than normal.Consequently, the process warns the user that the user may be gettingsick. According to another embodiment, the process detects anirregularity, such as that an elderly user is spending at least 10% moretime in bed per day over the last several days, than the historicalaverage. The process generates a notification to the elderly user, or tothe elderly user's caretaker, such as how much more time the elderlyuser is spending in bed. In another embodiment, the process detects anirregularity such as an increase in resting heart rate, by more than 15beats per minute, over a ten-year period. Such an increase in theresting heart rate doubles the likelihood that the user will die from aheart disease, compared to those people whose heart rates remainedstable. Consequently, the process warns the user that the user is atrisk of a heart disease.

FIG. 17 is a flowchart of a process for generating a comparison betweena biological signal associated with a user and a target biologicalsignal, according to one embodiment. The process, at block 1700, obtainsa current biological signal associated with a user, such as presence,motion, breathing rate, temperature, or heart rate, associated with theuser. The process obtains the current biological signal from a sensorassociated with the user. The process, at block 1710, then obtains atarget biological signal, such as a user-specified biological signal, abiological signal associated with a healthy user, or a biological signalassociated with an athlete. According to one embodiment, the processobtains the target biological signal from a user, or a database storingbiological signals. The process, at block 1720, compares the current biosignal associated with the user and the target bio signal, and generatesa notification based on the comparison at block 1730. The comparison ofthe current bio signal associated with the user and the target biosignal comprises detecting a higher frequency in the current biologicalsignal then in the target biological signal, detecting a lower frequencyin the current biological signal than in the target biological signal,detecting higher amplitude in the current biological signal than in thetarget biological signal, or detecting lower amplitude in the currentbiological signal than in the target biological signal.

According to one embodiment, the process of FIG. 17 can be used todetect if an infant has a higher risk of sudden infant death syndrome(“SIDS”). In SIDS victims less than one month of age, heart rate ishigher than in healthy infants of the same age, during all sleep phases.SIDS victims greater than one month of age show higher heart ratesduring the REM sleep phase. In the case of monitoring an infant for arisk of SIDS, the process obtains the current bio signal associated withthe sleeping infant, and a target biological signal associated with theheart rate of a healthy infant, where the heart rate is at the high endof a healthy heart rate spectrum. The process obtains the current biosignal from a sensor strip associated with the sleeping infant. Theprocess obtains the target biological signal from a database ofbiological signals. If the frequency of the biological signal of theinfant exceeds the target biological signal, the process generates anotification to the infant's caretaker, that the infant is at higherrisk of SIDS.

According to another embodiment, the process of FIG. 17 can be used infitness training. A normal resting heart rate for adults ranges from 60to 100 beats per minute. Generally, a lower heart rate at rest impliesmore efficient heart function and better cardiovascular fitness. Forexample, a well-trained athlete might have a normal resting heart ratecloser to 40 beats per minute. Thus, a user may specify a target restheart rate of 40 beats per minute. The process of FIG. 17 generates acomparison between the actual bio signal associated with the user andthe target bio signal at block 1720, and based on the comparison, theprocess generates a notification whether the user has reached histarget, or whether the user needs to exercise more, at block 1730.

FIG. 18 is a flowchart of a process for detecting the onset of adisease, according to one embodiment. The process, at block 1800,obtains the current bio signal associated with a user, such as presence,motion, temperature, breathing rate, or heart rate, associated with theuser. The process obtains the current bio signal from a sensorassociated with the user. Further, the process, at block 1810, obtains ahistory of bio signals associated with the user from a database. Thehistory of bio signals comprises the bio signals associated with theuser, accumulated over time. The history of biological signals can bestored in a database associated with a user. The process, at block 1820,then detects a discrepancy between the current bio signal and thehistory of bio signals, where the discrepancy is indicative of an onsetof a disease. The process, at block 1830, then generates an alarm to theuser's caretaker. The discrepancy between the current bio signal and thehistory of bio signals comprises a higher frequency in the current biosignal than in the history of bio signals, or a lower frequency in thecurrent bio signal than in the history of bio signals.

According to one embodiment, the process of FIG. 18 can be used todetect an onset of an epileptic seizure. A healthy person has a normalheart rate between 60 and 100 beats per minute. During epilepticseizures, the median heart rate associated with the person exceeds 100beats per minute. The process of FIG. 18 detects that the heart rateassociated with the user exceeds the normal heart rate range associatedwith the user. The process then generates an alarm to the user'scaretaker that the user is having an epileptic seizure. Although rare,epileptic seizures can cause the median heart rate associated with aperson to drop below 40 beats per minute. Similarly, the process of FIG.18 detects if the current heart rate is below the normal heart raterange associated with the user. The process then generates an alarm tothe user's caretaker that the user is having an epileptic seizure.

Snoring and Sleep Apnea Detection

FIG. 19 is a flowchart of a method to detect when a user is snoring, andto position an adjustable bed frame to prevent snoring, according to oneembodiment. In step 1900, a processor obtains a breathing rate from apiezo sensor. First, the processor receives a compound biological signalfrom the piezo sensor, where the compound biological signal includes thebreathing rate and a heart rate. Then, the processor performs a bandpassfiltering operation on the compound biological signal to obtain thebreathing rate.

In step 1910, the processor converts the breathing rate into atransformed breathing rate. The transformed breathing rate includes aplurality of frequencies and a plurality of intensities associated withthe plurality of frequencies. The processor can perform the conversionusing a Fourier Transform, Fast Fourier Transform, or Discrete FourierTransform.

Breathing rate comprises an inhale portion and an exhale portion. In oneembodiment, the processor detects an exhale portion of the breathingrate, and removes the exhale portion from the breathing rate to obtainan inhale breathing rate. The processor then converts the inhalebreathing rate into the transformed breathing rate. The processor canperform the conversion using a Fourier Transform, Fast FourierTransform, or Discrete Fourier Transform.

In step 1920, the processor detects an intensity peak in the pluralityof intensities. The intensity peak is a local maximum intensity of thetransformed breathing rate. The intensity peak is associated with afrequency in the plurality of frequencies.

In step 1930, the processor determines that the user is snoring when thefrequency associated with the intensity peak is within a snoringfrequency range. The snoring frequency range includes frequencies within0 Hz to 150 Hz.

In step 1940, once the processor determines that the user is snoring,the processor identifies the user based on at least one of: the heartrate associated with the user, or the breathing rate associated with theuser. In another embodiment, the processor identifies the user byreceiving a user ID from a device associated with the user.

In step 1950, once the processor identifies the user, the processorretrieves from a database a position associated with the adjustable bedframe, and the position associated with the identified user, theposition configured to prevent snoring. The position can be specified bythe user, or can be determined by the system as described herein.

In step 1960, once the processor retrieves the position from thedatabase, the processor sends a control signal to the adjustable bedframe. The control signal includes the position associated with theadjustable bed frame, and can also include an identification (ID)associated with an adjustable section of the adjustable bed frame. Theposition can correspond to an adjustable section associated with theadjustable bed frame, or the position can correspond to the wholeadjustable bed frame, such as when all the adjustable sections of theadjustable bed frame assume the same position.

FIG. 20 is a flowchart of a method to detect when a user is experiencinga sleeping disorder, such as snoring and/or sleep apnea, according toone embodiment. In step 2000, the processor obtains a breathing ratefrom a sensor disposed proximate to the user. The breathing rateincludes an inhale portion and an exhale portion. The sensor can be apiezo sensor, and/or a microphone. The piezo sensor and/or themicrophone can be disposed within a mattress, a bed pad, a pillow, bedsheets, and/or covers, etc. The microphone can be disposed within thepower supply box.

According to one embodiment, the processor obtains the breathing rate byreceiving a compound biological signal from a piezo sensor. The compoundbiological signal includes a heart rate and the breathing rate. Theprocessor then performs a bandpass filter on the compound biologicalsignal to obtain the breathing rate.

According to another embodiment, the processor obtains the breathingrate by receiving a signal from the microphone. The signal includes asound level in decibels (dB) over time.

In step 2010, the processor removes the exhale portion from thebreathing rate to obtain an inhale breathing rate.

In step 2020, the processor transforms the inhale breathing rate toobtain a transformed breathing rate comprising a plurality offrequencies and a plurality of intensities associated with the pluralityof frequencies. The processor can perform the transform using FourierTransform, Fast Fourier Transform, or Discrete Fourier Transform.

In step 2030, the processor detects a peak frequency in the plurality offrequencies associated with the transformed breathing rate, wherein thepeak frequency is indicative of the sleeping disorder, such as snoringand/or sleep apnea.

According to one embodiment, the processor detects the peak frequency byfinding an intensity peak in the plurality of intensities. The intensitypeak is associated with the peak frequency. When the peak frequencyassociated with the intensity peak is within a sleeping disorderfrequency range, the processor determines that the peak frequency isindicative of the sleeping disorder. The snoring and/or sleep apneafrequency range includes frequencies within 0 Hz to 150 Hz.

According to another embodiment, the processor detects the peakfrequency by smoothing the transformed breathing rate to obtain a smoothtransformed breathing rate. The smooth transformed breathing rateincludes a plurality of smooth frequencies, and a plurality of smoothintensities associated with the plurality of smooth frequencies. Thesmoothing can be done by removing peak frequencies whose formantbandwidths are less than 1 Hz. Various other methods for smoothing thetransformed breathing rate can be performed such as cepstral windowingor linear prediction.

After smoothing the transformed breathing rate signal, the processordetects an intensity peak in the plurality of smooth intensities. Whenthe peak frequency associated with the intensity peak is within asleeping disorder frequency range, the processor determines whether thepeak frequency is indicative of sleeping disorder, such as sleep apneaand/or snoring. The sleeping disorder, such as sleep apnea and/orsnoring, frequency range includes frequencies within 0 Hz to 150 Hz.

In step 2040, once the processor detects the peak frequency, theprocessor sends a signal to a device associated with the user. Thesignal includes an indication that the user is experiencing the sleepingdisorder. The processor can analyze breathing rate from the piezo sensorand from the microphone separately, or simultaneously. According to oneembodiment, if at least one signal includes an indication that the useris experiencing the sleeping disorder the processor sends the signal tothe device associated with the user.

According to one embodiment, in addition, the processor determines anumber of snoring and/or sleep apnea episodes by identifying a timeperiod without the sleeping disorder. In other words, once the processoridentifies the occurrence of the sleeping disorder, if the processoridentifies the time period in the breathing rate which lasts at least 1minute, and where that time period is without snoring and/or sleepapnea, the processor increments the number of snoring and/or sleep apneaepisodes. When the user awakes, the processor sends a notification tothe user device, where the notification includes the number of snoringand/or sleep apnea episodes.

According to another embodiment, once the processor detects snoringand/or sleep apnea, the processor sends a notification to a mobiledevice associated with the user that the user has been snoring and/orhas been having sleep apnea episodes.

The processor can also cause the user device to display a graph of thenumber of snoring and/or sleep apnea episodes over a specified period oftime, such as over the last several days, months, years, etc. The graphcan also include an average number of snoring and/or sleep apneaepisodes for each day of the week.

In one embodiment, the processor sends the signal to an adjustable bedframe. The adjustable bed frame includes a plurality of adjustablesections. The signal includes an identification associated with theadjustable section, and a position associated with said adjustablesection, the position configured to prevent snoring and/or sleep apnea.For example, once the processor detects snoring and/or sleep apnea, theprocessor sends a signal to the adjustable bed frame to raise theadjustable section corresponding to the user's head.

FIG. 21 shows a transformed breathing rate in frequency domain,according to one embodiment. Graph 2100 is the transformed breathingrate in the frequency domain versus the intensity in decibels (dB).Graph 2100 has a plurality of intensity peaks 2110 (only a few of theintensity peaks are labeled in the figure, for brevity). When theprocessor does not perform any smoothing of the transformed breathingrate, the processor detects each of the intensity peaks 2110. Graph 2120is the smooth transformed breathing rate obtained after the processorsmoothes the breathing rate. Graph 2120 has a plurality of intensitypeaks 2130.

FIG. 22 is a flowchart of a method to detect sleep apnea, according toone embodiment. In step 2200, the processor determines a frequency bandaround the peak frequency. The frequency band is a continuous frequencyregion around the peak frequency. The frequencies in the frequency bandhave intensities which differ less than 3 dB from the intensityassociated with the peak frequency.

In step 2210, the processor selects the peak frequency and the frequencyband, when the frequency band is greater than 1 Hz.

In step 2220, the processor detects sleep apnea based on the peakfrequency in the frequency band. According to one embodiment, theprocessor detects sleep apnea when the peak frequency is within a sleepapnea frequency range and when the frequency band is greater than 20 Hz.The sleep apnea frequency range comprises 0 Hz to 150 Hz.

According to another embodiment, the processor detects sleep apnea whenthe peak frequency is within a sleep apnea frequency range, wherein thesleep apnea frequency range comprises 0 Hz to 150 Hz.

FIG. 23 is a flowchart of a method to adjust an adjustable bed frameupon detecting that a user is experiencing a sleeping disorder, such assnoring and/or sleep apnea, according to one embodiment. In step 2300,the processor obtains a breathing rate from a sensor disposed proximateto the user, the breathing rate comprising an inhale portion and anexhale portion. The sensor can be a piezo sensor, and/or a microphone.The piezo sensor and/or the microphone can be disposed within amattress, a bed pad, a pillow, bed sheets, and/or covers, etc. Themicrophone can be disposed within the power supply box.

In step 2310, the processor transforms the breathing rate to obtain atransformed breathing rate comprising a plurality of frequencies and aplurality of intensities associated with the plurality of frequencies.The processor performs the transform using Fourier Transform, FastFourier Transform, or Discrete Fourier Transform.

According to one embodiment, before the processor transforms thebreathing rate to obtain the transformed breathing rate, the processorfirst removes the exhale portion from the breathing rate to obtain aninhale breathing rate. The processor than transforms the inhalebreathing rate using Fourier Transform, Fast Fourier Transform, orDiscrete Fourier Transform.

In step 2320, the processor detects a peak frequency in the transformedbreathing rate, wherein the peak frequency is indicative of snoringand/or sleep apnea. According to one embodiment, the processor detectsthe peak frequency by finding an intensity peak in the plurality ofintensities. The intensity peak is associated with the peak frequency.When the peak frequency associated with the intensity peak is within asnoring and/or sleep apnea frequency range, the processor determinesthat the peak frequency is indicative of snoring and/or sleep apnea. Thesnoring and/or sleep apnea frequency range includes frequencies within 0Hz to 150 Hz.

According to another embodiment, the processor detects the peakfrequency by smoothing the transformed breathing rate to obtain a smoothtransformed breathing rate. The smooth transformed breathing ratecomprising a plurality of smooth frequencies, and a plurality of smoothintensities associated with the plurality of smooth frequencies. Theprocessor smoothes the transformed breathing rate by deleting all peakfrequencies whose formant bandwidth is less than 1 Hz. Various othermethods for smoothing the transformed breathing rate can be performedsuch as any kind of a method to compute to a spectral envelope.

After smoothing the transformed breathing rate signal, the processordetects an intensity peak in the plurality of smooth intensities. Whenthe peak frequency associated with the intensity peak is within asnoring and/or sleep apnea frequency range, the processor determinesthat the peak frequency is indicative of a sleeping disorder. Thesnoring and/or sleep apnea frequency range includes frequencies within 0Hz to 150 Hz.

In step 2330, once the processor detects the peak frequency, theprocessor sends a signal to the adjustable bed frame. The signalincludes an ID associated with the adjustable bed frame section, aposition associated with the adjustable bed frame section, where theposition is configured to prevent snoring and/or sleep apnea. Once theadjustable bed frame receives the signal, the adjustable bed frame movesthe adjustable section corresponding to the ID, to the specifiedposition.

According to one embodiment, the position can be specified by the user.The processor receives from a user device associated with the user anidentification (ID) of an adjustable section associated with theadjustable bed frame, and a preferred position associated with theadjustable section. The signal can include the ID of the adjustablesection, and the preferred position of the adjustable section, asspecified by the user. For example, the adjustable section cancorrespond to the head, and the preferred position can be a positionelevated from the neutral position.

According to another embodiment, the processor automatically determinesthe adjustable bed frame position to prevent snoring and/or sleep apnea.Once the processor detects snoring and/or sleep apnea, the processorsends to the adjustable bed frame an ID of an adjustable sectionassociated with the adjustable bed frame, and the position associatedwith the adjustable section. For example, the processor sends the ID ofthe head section, and a request to rotate the head section by 10°upward. At least one minute after the adjustable bed frame responds tothe signal, the processor detects whether the user is experiencing asleeping disorder such as snoring and/or sleep apnea. If the user isstill experiencing the sleeping disorder, the processor again sends theID of the head section, and a request to rotate the head section by 10°upward. The processor iteratively adjusts the height of the headsection, until the user stops experiencing the sleeping disorder.

Once the processor no longer detects the sleeping disorder, theprocessor stores the current position of the adjustable bed frame in adatabase. The processor can in the future retrieve the stored position,and, whenever the sleeping disorder is detected, send the storedposition to the adjustable bed frame to prevent snoring and/or sleepapnea.

According to one embodiment, the processor identifies the user based onthe breathing rate associated with the user to obtain a user ID.According to another embodiment, the processor receives the user ID froma device associated with the user. Based on the user ID, the processorretrieves from the database a position associated with the adjustablebed frame and with the user ID. The position is configured to preventsnoring and/or sleep apnea, and can be calculated by the processor asdescribed herein, or can be specified by the user as described herein.

FIG. 24 is a flowchart of a method to detect when a user is experiencinga sleeping disorder, and to position an adjustable bed frame to preventsnoring and/or sleep apnea using machine learning algorithms, accordingto one embodiment. In step 2400, the processor obtains a breathing rateassociated with the user from a sensor, such as a piezo sensor and/or amicrophone.

In step 2410, the processor receives from a database a first pluralityof breathing rates associated with at least one person and a secondplurality of breathing rates associated with at least one person. Theperson can be the user and/or various people whose breathing rates havebeen measured. Each breathing rate in the first plurality of breathingrates includes normal breathing. Each breathing rate in the secondplurality of breathing rates includes breathing indicative of a sleepingdisorder such as snoring and/or sleep apnea.

In step 2420, based on the first plurality of breathing rates and thesecond plurality of breathing rates, the processor creates a trainingmodel. The training model is created by providing the first plurality ofbreathing rates and the second plurality of breathing rates as inputs tocreate a training model. Creation of the training model can besupervised or unsupervised. In supervised learning, the first pluralityof breathing rates provided to the training model can be labeled asnormal breathing rates, while the second plurality of breathing ratesprovided to the training model can be labeled as sleeping disorderbreathing rates. In unsupervised learning, the first and secondpluralities of breathing rates are unlabeled, and the training modelitself determines the categorization.

Creating the training model can include additional steps. In oneembodiment, the first and the second plurality of breathing rates arepreprocessed before providing inputs to create the training model. Eachbreathing rate includes an inhale portion and an exhale portion. Theexhale portion in each of the breathing rates in the first and thesecond plurality of breathing rates is removed to obtain a firstplurality of inhale breathing rates, and a second plurality of inhalebreathing rates. The first plurality of inhale breathing rates and thesecond plurality of inhale breathing rates are then used as inputs tocreate the training model.

In step 2430, based on the training model, and the breathing rateassociated with the user the processor determines whether the user isexperiencing the sleeping disorder.

In step 2440, the processor identifies the user based on at least one ofa heart rate associated with the user, or the breathing rate associatedwith the user, to obtain an identified user. The processor can identifythe user by receiving a user ID from a user device associated with theuser.

In step 2450, based on identifying the user, the processor retrievesfrom a database a position associated with the adjustable bed frame andthe identified user, where the retrieved position is configured toprevent the user from experiencing the sleeping disorder.

In step 2460, upon said retrieving from the database the position, theprocessor sends a signal to the adjustable bed frame. The signalincludes the position associated with the adjustable bed frame.

Various additional steps described herein can be performed.

FIG. 25 is a flowchart of a method to detect when a user is experiencinga sleeping disorder, according to one embodiment. In step 2500, theprocessor obtains a breathing rate from a sensor disposed proximate tothe user, such as a piezo sensor, and/or a microphone. The breathingrate includes an inhale portion and an exhale portion.

In step 2510, the processor removes the exhale portion from thebreathing rate to obtain an inhale breathing rate.

In step 2520, based on the inhale breathing rate, the processordetermines that the user is having the sleeping disorder. Determiningthat the user is having the sleeping disorder can be done in variousways, some of which are described above, such as detecting the peakfrequency indicative of snoring and/or sleep apnea. Determining that theuser is having the sleeping disorder can also utilize machine learning,such as deep neural networks.

In one embodiment, the processor receives from a database a firstplurality of breathing rates associated with at least one person and asecond plurality of breathing rates associated with at least one person.The person can be the user and/or other people whose breathing rateshave been measured. Each breathing rate in the first plurality ofbreathing rates comprises normal breathing. Further, each breathing ratein the first plurality of breathing rates comprises an inhale portionand an exhale portion. Each breathing rate in the second plurality ofbreathing rates comprises a breathing rate indicative of a sleepingdisorder such as snoring and/or sleep apnea. Further, each breathingrate in the second plurality of breathing rates comprises an inhaleportion and an exhale portion. The processor removes the exhale portionsfrom each breathing rate in the first and the second plurality ofbreathing rates to obtain a first plurality of inhale breathing rates,and a second plurality of inhale breathing rates.

Based on the first plurality of inhale breathing rates and the secondplurality of inhale breathing rates, the processor creates a trainingmodel. The training model is created by providing the first plurality ofinhale breathing rates and the second plurality of inhale breathingrates as inputs to create a training model. Creation of the trainingmodel can be supervised or unsupervised. In supervised learning, thefirst plurality of inhale breathing rates provided to the training modelcan be labeled as normal breathing rates, while the second plurality ofinhale breathing rates provided to the training model can be labeled assleeping disorder breathing rates. In unsupervised learning, the firstand second pluralities of inhale breathing rates are unlabeled, and thetraining model itself determines the categorization.

Finally, based on the training model, and the inhale breathing rateassociated with the user, the processor determines that the user isexperiencing the sleeping disorder such as snoring and/or sleep apnea.

In step 2520, based on the training model, and the breathing rateassociated with the user, the processor determines that the user ishaving the sleeping disorder.

In step 2530, upon said determining that the user is having the sleepingdisorder, the processor sends a signal to a device associated with theuser, where the signal includes an indication that the user isexperiencing the sleeping disorder. The processor can analyze breathingrate from the piezo sensor and from the microphone separately, orsimultaneously. According to one embodiment, if at least one signalincludes an indication that the user is experiencing the sleepingdisorder the processor sends the signal to the device associated withthe user.

According to one embodiment, the processor determines a number ofsnoring and/or sleep apnea episodes by identifying a time period withoutthe sleeping disorder. In other words, once the processor identifies theoccurrence of the sleeping disorder, if the processor identifies thetime period in the breathing rate which lasts at least 1 minute, andwhere that time period is without snoring and/or sleep apnea, theprocessor increments the number of snoring and/or sleep apnea episodes.When the user awakes, the processor sends a notification to the userdevice, where the notification includes the number of snoring and/orsleep apnea episodes.

According to another embodiment, once the processor detects snoringand/or sleep apnea, the processor sends a notification to a mobiledevice associated with the user that the user has been snoring and/orhas been having sleep apnea episodes.

The processor can also cause the user device to display a graph of thenumber of snoring and/or sleep apnea episodes over a specified period oftime, such as over the last several days, months, years, etc. The graphcan also include an average number of snoring and/or sleep apneaepisodes for each day of the week.

In one embodiment, the processor sends the signal to an adjustable bedframe. The adjustable bed frame includes a plurality of adjustablesections. The signal includes an identification associated with theadjustable section, and a position associated with said adjustablesection, the position configured to prevent snoring and/or sleep apnea.For example, once the processor detects snoring and/or sleep apnea, theprocessor sends a signal to the adjustable bed frame to raise theadjustable section corresponding to the user's head.

Various additional steps described herein can be performed.

FIG. 26 is a flowchart of a method to adjust an adjustable bed frameupon detecting that a user is experiencing a sleeping disorder,according to one embodiment. In step 2600, the processor obtains abiological signal from a sensor disposed proximate to the user, such asa microphone and/or a piezo sensor. The biological signal includes atleast one of a breathing rate associated with the user, a heart rateassociated with the user, and a motion associated with the user.

In step 2610, based on the biological signal, the processor determinesthat the user is experiencing the sleeping disorder, such as snoringand/or sleep apnea. Determining that the user is having the sleepingdisorder can be done in various ways, some of which are described above,such as detecting the peak frequency indicative of snoring and/or sleepapnea. Determining that the user is having the sleeping disorder canalso utilize machine learning, such as deep neural networks.

In one embodiment, the processor receives from a database a firstplurality of biological signals associated with at least one person anda second plurality of biological signals associated with at least oneperson, wherein each biological signal in the first plurality ofbiological signals comprises a normal biological signal, and whereineach biological signal in the second plurality of biological signalscomprises a biological signal indicative of the sleeping disorder. Theperson can be the user and/or other people whose biological signals havebeen measured.

Based on the first plurality of biological signals and the secondplurality of biological signals, the processor creates a training model.Creation of the training model can be supervised or unsupervised. Insupervised learning, the first plurality of biological signals providedto the training model can be labeled as normal biological signals, whilethe second plurality of biological signals provided to the trainingmodel can be labeled as sleeping disorder biological signals. Inunsupervised learning, the first and second pluralities of biologicalsignals are unlabeled, and the training model itself determines thecategorization. Based on the training model, and the biological signalassociated with the user, the processor determines that the user isexperiencing the sleeping disorder.

In step 2620, upon determining that the user is experiencing thesleeping disorder, the processor sends a signal to the adjustable bedframe. The signal includes a position associated with the adjustable bedframe, where the position is configured to prevent the sleepingdisorder.

According to one embodiment, the position can be specified by the user.The processor receives from a user device associated with the user anidentification (ID) of an adjustable section associated with theadjustable bed frame, and a preferred position associated with theadjustable section. The signal can include the ID of the adjustablesection, and the preferred position of the adjustable section, asspecified by the user. For example, the adjustable section cancorrespond to the head, and the preferred position can be a positionelevated from the neutral position.

According to another embodiment, the processor automatically determinesthe adjustable bed frame position to prevent snoring and/or sleep apnea.Once the processor detects snoring and/or sleep apnea, the processorsends to the adjustable bed frame an ID of an adjustable sectionassociated with the adjustable bed frame, and the position associatedwith the adjustable section. For example, the processor sends the ID ofthe head section, and a request to rotate the head section by 10°upward. At least one minute after the adjustable bed frame responds tothe signal, the processor detects whether the user is experiencing asleeping disorder such as snoring and/or sleep apnea. If the user isstill experiencing the sleeping disorder, the processor again sends theID of the head section, and a request to rotate the head section by 10°upward. The processor iteratively adjusts the height of the headsection, until the user stops experiencing the sleeping disorder.

Once the processor no longer detects the sleeping disorder, theprocessor stores the current position of the adjustable bed frame in adatabase. The processor can in the future retrieve the stored position,and, whenever the sleeping disorder is detected, send the storedposition to the adjustable bed frame to prevent snoring and/or sleepapnea.

According to one embodiment, the processor identifies the user based onthe breathing rate associated with the user to obtain a user ID.According to another embodiment, the processor receives the user ID froma device associated with the user. Based on the user ID, the processorretrieves from the database a position associated with the adjustablebed frame and with the user ID. The position is configured to preventsnoring and/or sleep apnea, and can be calculated by the processor asdescribed herein, or can be specified by the user as described herein.

Various additional steps described herein can be performed.

FIG. 27 is a flowchart of a method to send a signal to a deviceassociated with the user upon detecting that the user is experiencing asleeping disorder, according to one embodiment. In step 2700, a piezosensor disposed proximate to the user measures a breathing rateassociated with the user, wherein the breathing rate comprises an inhaleportion and an exhale portion.

In step 2710, a processor receives from a database a first plurality ofbreathing rates associated with at least one person and a secondplurality of breathing rates associated with at least one person. Eachbreathing rate in the first plurality of breathing rates includes normalbreathing. Each breathing rate in the second plurality of breathingrates includes breathing indicative of the sleeping disorder.

In step 2720, based on the first plurality of breathing rates and thesecond plurality of breathing rates, the processor creates a trainingmodel. The training model is created by providing the first plurality ofbreathing rates and the second plurality of breathing rates as inputs tocreate a training model. Creation of the training model can besupervised or unsupervised. In supervised learning, the first pluralityof breathing rates provided to the training model can be labeled asnormal breathing rates, while the second plurality of breathing ratesprovided to the training model can be labeled as sleeping disorderbreathing rates. In unsupervised learning, the first and secondpluralities of breathing rates are unlabeled, and the training modelitself determines the categorization.

Creating the training model can include additional steps. In oneembodiment, the first and the second pluralities of breathing rates arepreprocessed before providing inputs to create the training model. Eachbreathing rate includes an inhale portion and an exhale portion. Theexhale portion in each of the breathing rates in the first and thesecond pluralities of breathing rates is removed to obtain a firstplurality of inhale breathing rates, and a second plurality of inhalebreathing rates. The first plurality of inhale breathing rates and thesecond plurality of inhale breathing rates are then used as inputs tocreate the training model.

In step 2730, based on the training model, and the breathing rateassociated with the user, the processor determines that the user isexperiencing the sleeping disorder, such as snoring and/or sleep apnea.In one embodiment, the breathing rate is preprocessed to remove theexhale portion to obtain an inhale breathing rate associated with theuser. Based on the training model built on the first and secondpluralities of inhale breathing rates, and the inhale breathing rateassociated with the user, the processor determines whether the user isexperiencing the sleeping disorder.

In step 2740, upon said determining that the user is experiencing thesleeping disorder, the processor sends a signal to a device associatedwith the user. The signal includes an indication that the user isexperiencing the sleeping disorder.

According to one embodiment, in addition, the processor determines anumber of snoring and/or sleep apnea episodes by identifying a timeperiod without the sleeping disorder. In other words, once the processoridentifies the occurrence of the sleeping disorder, if the processoridentifies the time period in the breathing rate which lasts at least 1minute, and where that time period is without snoring and/or sleepapnea, the processor increments the number of snoring and/or sleep apneaepisodes. When the user awakes, the processor sends a notification tothe user device, where the notification includes the number of snoringand/or sleep apnea episodes.

In one embodiment, the processor automatically determines the adjustablebed frame position to prevent snoring and/or sleep apnea. Once theprocessor detects snoring and/or sleep apnea, the processor sends to theadjustable bed frame an ID of an adjustable section associated with theadjustable bed frame, and the position associated with the adjustablesection. For example, the processor sends the ID of the head section,and a request to rotate the head section by 10° upward. At least oneminute after the adjustable bed frame responds to the signal, theprocessor detects whether the user is experiencing a sleeping disordersuch as snoring and/or sleep apnea. If the user is still experiencingthe sleeping disorder, the processor again sends the ID of the headsection, and a request to rotate the head section by 10° upward. Theprocessor iteratively adjusts the height of the head section, until theuser stops experiencing the sleeping disorder.

Once the processor no longer detects the sleeping disorder, theprocessor stores the current position of the adjustable bed frame in adatabase. The processor can in the future retrieve the stored position,and, whenever the sleeping disorder is detected, send the storedposition to the adjustable bed frame to prevent snoring and/or sleepapnea.

Various additional steps described herein can be performed.

Computer

FIG. 28 is a diagrammatic representation of a machine in the exampleform of a computer system 2800 within which a set of instructions, forcausing the machine to perform any one or more of the methodologies ormodules discussed herein, may be executed.

In the example of FIG. 28, the computer system 2800 includes aprocessor, memory, non-volatile memory, and an interface device. Variouscommon components (e.g., cache memory) are omitted for illustrativesimplicity. The computer system 2800 is intended to illustrate ahardware device on which any of the components described in the exampleof FIGS. 1-27 (and any other components described in this specification)can be implemented. The computer system 2800 can be of any applicableknown or convenient type. The components of the computer system 2800 canbe coupled together via a bus or through some other known or convenientdevice.

This disclosure contemplates the computer system 2800 taking anysuitable physical form. As example and not by way of limitation,computer system 2800 may be an embedded computer system, asystem-on-chip (SOC), a single-board computer system (SBC) (such as, forexample, a computer-on-module (COM) or system-on-module (SOM)), adesktop computer system, a laptop or notebook computer system, aninteractive kiosk, a mainframe, a mesh of computer systems, a mobiletelephone, a personal digital assistant (PDA), a server, or acombination of two or more of these. Where appropriate, computer system2800 may include one or more computer systems 2800; be unitary ordistributed; span multiple locations; span multiple machines; or residein a cloud, which may include one or more cloud components in one ormore networks. Where appropriate, one or more computer systems 2800 mayperform without substantial spatial or temporal limitation one or moresteps of one or more methods described or illustrated herein. As anexample and not by way of limitation, one or more computer systems 2800may perform in real time or in batch mode one or more steps of one ormore methods described or illustrated herein. One or more computersystems 2800 may perform at different times or at different locationsone or more steps of one or more methods described or illustratedherein, where appropriate.

The processor may be, for example, a conventional microprocessor such asan Intel Pentium microprocessor or Motorola power PC microprocessor. Oneof skill in the relevant art will recognize that the terms“machine-readable (storage) medium” or “computer-readable (storage)medium” include any type of device that is accessible by the processor.

The memory is coupled to the processor by, for example, a bus. Thememory can include, by way of example but not limitation, random accessmemory (RAM), such as dynamic RAM (DRAM) and static RAM (SRAM). Thememory can be local, remote, or distributed.

The bus also couples the processor to the non-volatile memory and driveunit. The non-volatile memory is often a magnetic floppy or hard disk, amagnetic-optical disk, an optical disk, a read-only memory (ROM), suchas a CD-ROM, EPROM, or EEPROM, a magnetic or optical card, or anotherform of storage for large amounts of data. Some of this data is oftenwritten, by a direct memory access process, into memory during executionof software in the computer 2800. The non-volatile storage can be local,remote, or distributed. The non-volatile memory is optional becausesystems can be created with all applicable data available in memory. Atypical computer system will usually include at least a processor,memory, and a device (e.g., a bus) coupling the memory to the processor.

Software is typically stored in the non-volatile memory and/or the driveunit. Indeed, storing an entire large program in memory may not even bepossible. Nevertheless, it should be understood that for software torun, if necessary, it is moved to a computer-readable locationappropriate for processing, and for illustrative purposes, that locationis referred to as the memory in this paper. Even when software is movedto the memory for execution, the processor will typically make use ofhardware registers to store values associated with the software, andlocal cache that, ideally, serves to speed up execution. As used herein,a software program is assumed to be stored at any known or convenientlocation (from non-volatile storage to hardware registers) when thesoftware program is referred to as “implemented in a computer-readablemedium.” A processor is considered to be “configured to execute aprogram” when at least one value associated with the program is storedin a register readable by the processor.

The bus also couples the processor to the network interface device. Theinterface can include one or more of a modem or network interface. Itwill be appreciated that a modem or network interface can be consideredto be part of the computer system 2800. The interface can include ananalog modem, ISDN modem, cable modem, token ring interface, satellitetransmission interface (e.g., “direct PC”), or other interfaces forcoupling a computer system to other computer systems. The interface caninclude one or more input and/or output devices. The I/O devices caninclude, by way of example but not limitation, a keyboard, a mouse orother pointing device, disk drives, printers, a scanner, and other inputand/or output devices, including a display device. The display devicecan include, by way of example but not limitation, a cathode ray tube(CRT), liquid crystal display (LCD), or some other applicable known orconvenient display device. For simplicity, it is assumed thatcontrollers of any devices not depicted in the example of FIG. 28 residein the interface.

In operation, the computer system 2800 can be controlled by operatingsystem software that includes a file management system, such as a diskoperating system. One example of operating system software withassociated file management system software is the family of operatingsystems known as Windows® from Microsoft Corporation of Redmond, Wash.,and its associated file management systems. Another example of operatingsystem software with its associated file management system software isthe Linux™ operating system and its associated file management system.The file management system is typically stored in the non-volatilememory and/or drive unit and causes the processor to execute the variousacts required by the operating system to input and output data and tostore data in the memory, including storing files on the non-volatilememory and/or drive unit.

Some portions of the detailed description may be presented in terms ofalgorithms and symbolic representations of operations on data bitswithin a computer memory. These algorithmic descriptions andrepresentations are the means used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of operations leading to adesired result. The operations are those requiring physicalmanipulations of physical quantities. Usually, though not necessarily,these quantities take the form of electrical or magnetic signals capableof being stored, transferred, combined, compared, and otherwisemanipulated. It has proven convenient at times, principally for reasonsof common usage, to refer to these signals as bits, values, elements,symbols, characters, terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise, as apparent from the followingdiscussion, it is appreciated that, throughout the description,discussions utilizing terms such as “processing” or “computing” or“calculating” or “determining” or “displaying” or “generating” or thelike, refer to the action and processes of a computer system, or similarelectronic computing device, that manipulates and transforms datarepresented as physical (electronic) quantities within the computersystem's registers and memories into other data similarly represented asphysical quantities within the computer system memories or registers orother such information storage, transmission or display devices.

The algorithms and displays presented herein are not inherently relatedto any particular computer or other apparatus. Various general purposesystems may be used with programs in accordance with the teachingsherein, or it may prove convenient to construct more specializedapparatus to perform the methods of some embodiments. The requiredstructure for a variety of these systems will appear from thedescription below. In addition, the techniques are not described withreference to any particular programming language, and variousembodiments may thus be implemented using a variety of programminglanguages.

In alternative embodiments, the machine operates as a standalone deviceor may be connected (e.g., networked) to other machines. In a networkeddeployment, the machine may operate in the capacity of a server or aclient machine in a client-server network environment, or as a peermachine in a peer-to-peer (or distributed) network environment.

The machine may be a server computer, a client computer, a personalcomputer (PC), a tablet PC, a laptop computer, a set-top box (STB), apersonal digital assistant (PDA), a cellular telephone, an iPhone, aBlackberry, a processor, a telephone, a web appliance, a network router,switch or bridge, or any machine capable of executing a set ofinstructions (sequential or otherwise) that specify actions to be takenby that machine.

While the machine-readable medium or machine-readable storage medium isshown in an exemplary embodiment to be a single medium, the terms“machine-readable medium” and “machine-readable storage medium” shouldbe taken to include a single medium or multiple media (e.g., acentralized or distributed database, and/or associated caches andservers) that store the one or more sets of instructions. The terms“machine-readable medium” and “machine-readable storage medium” shallalso be taken to include any medium that is capable of storing, encodingor carrying out a set of instructions for execution by the machine andthat cause the machine to perform any one or more of the methodologiesor modules of the presently disclosed technique and innovation.

In general, the routines executed to implement the embodiments of thedisclosure may be implemented as part of an operating system or aspecific application, component, program, object, module or sequence ofinstructions referred to as “computer programs.” The computer programstypically comprise one or more instructions set at various times invarious memory and storage devices in a computer, and that, when readand executed by one or more processing units or processors in acomputer, cause the computer to perform operations to execute elementsinvolving the various aspects of the disclosure.

Moreover, while embodiments have been described in the context of fullyfunctioning computers and computer systems, those skilled in the artwill appreciate that the various embodiments are capable of beingdistributed as a program product in a variety of forms, and that thedisclosure applies equally regardless of the particular type of machineor computer-readable media used to actually effect the distribution.

Further examples of machine-readable storage media, machine-readablemedia, or computer-readable (storage) media include but are not limitedto recordable type media such as volatile and non-volatile memorydevices, floppy and other removable disks, hard disk drives, opticaldisks (e.g., Compact Disk Read-Only Memory (CD ROMS), Digital VersatileDisks, (DVDs), etc.), among others, and transmission type media, such asdigital and analog communication links.

In some circumstances, operation of a memory device, such as a change instate from a binary one to a binary zero or vice-versa, for example, maycomprise a transformation, such as a physical transformation. Withparticular types of memory devices, such a physical transformation maycomprise a physical transformation of an article to a different state orthing. For example, but without limitation, for some types of memorydevices, a change in state may involve an accumulation and storage ofcharge or a release of stored charge. Likewise, in other memory devices,a change of state may comprise a physical change or transformation inmagnetic orientation or a physical change or transformation in molecularstructure, such as from crystalline to amorphous or vice-versa. Theforegoing is not intended to be an exhaustive list of all examples inwhich a change in state from a binary one to a binary zero or vice-versain a memory device may comprise a transformation, such as a physicaltransformation. Rather, the foregoing is intended as illustrativeexamples.

A storage medium typically may be non-transitory or comprise anon-transitory device. In this context, a non-transitory storage mediummay include a device that is tangible, meaning that the device has aconcrete physical form, although the device may change its physicalstate. Thus, for example, non-transitory refers to a device remainingtangible despite this change in state.

Remarks

In many of the embodiments disclosed in this application, the technologyis capable of allowing multiple different users to use the same piece offurniture equipped with the presently disclosed technology. For example,different people can sleep in the same bed. In addition, two differentusers can switch the side of the bed that they sleep on, and thetechnology disclosed here will correctly identify which user is sleepingon which side of the bed. The technology identifies the users based onany of the following signals alone or in combination: heart rate,breathing rate, body motion, or body temperature associated with eachuser. In another embodiment, the technology disclosed here identifiesthe user by receiving both the user ID and side of the bed associatedwith the user ID, from a device associated with the user.

The foregoing description of various embodiments of the claimed subjectmatter has been provided for the purposes of illustration anddescription. It is not intended to be exhaustive or to limit the claimedsubject matter to the precise forms disclosed. Many modifications andvariations will be apparent to one skilled in the art. Embodiments werechosen and described in order to best describe the principles of theinvention and its practical applications, thereby enabling othersskilled in the relevant art to understand the claimed subject matter,the various embodiments, and the various modifications that are suitedto the particular uses contemplated.

While embodiments have been described in the context of fullyfunctioning computers and computer systems, those skilled in the artwill appreciate that the various embodiments are capable of beingdistributed as a program product in a variety of forms, and that thedisclosure applies equally regardless of the particular type of machineor computer-readable media used to actually effect the distribution.

Although the above Detailed Description describes certain embodimentsand the best mode contemplated, no matter how detailed the above appearsin text, the embodiments can be practiced in many ways. Details of thesystems and methods may vary considerably in their implementationdetails, while still being encompassed by the specification. As notedabove, particular terminology used when describing certain features oraspects of various embodiments should not be taken to imply that theterminology is being redefined herein to be restricted to any specificcharacteristics, features, or aspects of the invention with which thatterminology is associated. In general, the terms used in the followingclaims should not be construed to limit the invention to the specificembodiments disclosed in the specification, unless those terms areexplicitly defined herein. Accordingly, the actual scope of theinvention encompasses not only the disclosed embodiments, but also allequivalent ways of practicing or implementing the embodiments under theclaims.

The language used in the specification has been principally selected forreadability and instructional purposes, and it may not have beenselected to delineate or circumscribe the inventive subject matter. Itis therefore intended that the scope of the invention be limited not bythis Detailed Description, but rather by any claims that issue on anapplication based hereon. Accordingly, the disclosure of variousembodiments is intended to be illustrative, but not limiting, of thescope of the embodiments, which is set forth in the following claims.

The invention claimed is:
 1. A method to detect when a user isexperiencing a sleeping disorder, the method comprising: obtaining abreathing rate from a sensor disposed proximate to the user, thebreathing rate comprising an inhale portion and an exhale portion;identifying an inhale breathing rate of the user by removing the exhaleportion from the breathing rate to obtain the inhale portion as theinhale breathing rate of the user; based on the inhale breathing rate ofthe user, determining that the user is experiencing the sleepingdisorder, wherein determining that the user is experiencing the sleepingdisorder includes: determining frequencies corresponding with the inhalebreathing rate, determining that the frequencies include a firstfrequency range around a first peak frequency and a second frequencyrange around a second peak frequency, the first frequency range beingdifferent than the second frequency range, and determining that thefirst frequency range is within a frequency range corresponding to thesleeping disorder, and that the second frequency range is not within thefrequency range corresponding to the sleeping disorder, whereindetermining that the user is experiencing the sleeping disorder is basedon the first peak frequency and the first frequency range; and upon saiddetermining that the user is experiencing the sleeping disorder, sendinga signal to a device associated with the user, the signal comprising anindication that the user is experiencing the sleeping disorder.
 2. Themethod of claim 1, said determining that the user is experiencing thesleeping disorder comprising: receiving a first plurality of breathingrates associated with at least one person and a second plurality ofbreathing rates associated with the at least one person, wherein eachbreathing rate in the first plurality of breathing rates comprisesnormal breathing and further each breathing rate in the first pluralityof breathing rates comprises the inhale portion and the exhale portion,and wherein each breathing rate in the second plurality of breathingrates comprises snoring and further each breathing rate in the secondplurality of breathing rates comprises the inhale portion and the exhaleportion; removing the exhale portion from each breathing rate in thefirst plurality of breathing rates and the second plurality of breathingrates to obtain a first plurality of inhale breathing rates and a secondplurality of inhale breathing rates; based on the first plurality ofinhale breathing rates and the second plurality of inhale breathingrates, creating a training model; and based on the training model, andthe inhale breathing rate associated with the user, determining that theuser is snoring.
 3. The method of claim 1, said determining that theuser is experiencing the sleeping disorder comprising: receiving a firstplurality of breathing rates associated with at least one person and asecond plurality of breathing rates associated with the at least oneperson, wherein each breathing rate in the first plurality of breathingrates comprises normal breathing and further each breathing rate in thefirst plurality of breathing rates comprises the inhale portion and theexhale portion, and wherein each breathing rate in the second pluralityof breathing rates comprises breathing indicative of sleep apnea andfurther each breathing rate in the second plurality of breathing ratescomprises the inhale portion and the exhale portion; removing the exhaleportion from each breathing rate in the first plurality of breathingrates and the second plurality of breathing rates to obtain a firstplurality of inhale breathing rates and a second plurality of inhalebreathing rates; based on the first plurality of inhale breathing ratesand the second plurality of inhale breathing rates, creating a trainingmodel; and based on the training model, and the inhale breathing rateassociated with the user, determining that the user is experiencingsleep apnea.
 4. The method of claim 1, said determining that the user isexperiencing the sleeping disorder comprising: transforming the inhalebreathing rate to obtain a transformed breathing rate comprising aplurality of frequencies and a plurality of intensities associated withthe plurality of frequencies; and detecting a peak frequency in theplurality of frequencies associated with the transformed breathing rate,wherein the peak frequency is indicative of the sleeping disorder. 5.The method of claim 4, said detecting the peak frequency indicative ofthe sleeping disorder comprising: detecting an intensity peak in theplurality of intensities, wherein the intensity peak is associated withthe peak frequency; and when the peak frequency associated with theintensity peak is within a snoring frequency range, determining that thepeak frequency is indicative of snoring, the snoring frequency rangecomprising frequencies within 0 Hz to 150 Hz.
 6. The method of claim 4,said detecting the peak frequency indicative of the sleeping disordercomprising: smoothing the transformed breathing rate to obtain a smoothtransformed breathing rate, the smooth transformed breathing ratecomprising a plurality of smooth frequencies, and a plurality of smoothintensities associated with the plurality of smooth frequencies; anddetecting an intensity peak in the plurality of smooth intensities,wherein the intensity peak is associated with the peak frequency; andwhen the peak frequency associated with the intensity peak is within asnoring frequency range, determining that the peak frequency isindicative of snoring, the snoring frequency range comprisingfrequencies within 0 Hz to 150 Hz.
 7. The method of claim 4, furthercomprising: determining a frequency band around the peak frequency,wherein the frequency band comprises a continuous frequency regionaround the peak frequency, the continuous frequency region comprisingfrequencies whose corresponding intensities differ less than 3 dB froman intensity associated with the peak frequency; selecting the peakfrequency and the frequency band, wherein the frequency band is greaterthan 1 Hz; and based on the peak frequency and the frequency band,detecting sleep apnea.
 8. The method of claim 1, further comprising:determining a number of snoring episodes experienced by the user, saiddetermining the number of snoring episodes comprising: identifying atime period associated with the breathing rate, wherein the time periodlasts at least 1 minute, and wherein the time period is free of snoring;and incrementing an indication of the number of snoring episodesexperienced by the user.
 9. The method of claim 8, said sending thesignal to the device associated with the user comprising: sending anotification comprising the number of snoring episodes.
 10. The methodof claim 1, said sending the signal to the device associated with theuser comprising: sending a notification to a mobile device associatedwith the user that the user has been snoring.
 11. The method of claim 1,said sending the signal to the device associated with the usercomprising: sending the signal to an adjustable bed frame, theadjustable bed frame comprising an adjustable section, the signalcomprising an identification associated with the adjustable section, anda position associated with the adjustable section, the positionconfigured to prevent snoring.